package com.itheima.dao;

import com.itheima.pojo.Member;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
* @Author : wangjie
* @CreateDate : 2020/4/6 16:30
* @Version : 1.0
* @Description : 会员持久层接口
*/
public interface MemberDao {
    /**
     * 会员登录
     * @param telephone
     * @return
     */
    Member findByTelephone(@Param("telephone") String telephone);

    /**
     * 保存数据到数据库
     * @param member
     */
    void add(Member member);

    /**
     * 更新会员信息
     * @param member
     */
    void updata(Member member);

    /**
     * 根据月份 获取累计日期的会员数据
     * @param monthStr
     * @return
     */
    Integer findCountByMonthBefore(@Param("month") String monthStr);

    /**
     * 获取套餐预约占比
     * @return
     */
    List<Map> findSetmealCount();

    /**
     * 根据日期统计会员数
     * @param date
     * @return
     */
    Integer findMemberCountByDate(@Param("date") String date);

    /**
     * 统计某一日期后的会员数
     * @param date
     * @return
     */
    Integer findMemberCountAfterDate(@Param("date") String date);

    /**
     * 统计会员总数
     * @return
     */
    Integer findMemberTotalCount();


    Integer findMemberByDate(@Param("beginDate") Date beginDate, @Param("endDate") Date endDate);

}
